<?php
namespace app\controllers;

use Yii;
use common\component\ReturnBehavior;
use yii\web\Controller;

//想要使用行为，必须是component或是其子类
//yii\web\Controller继承自component，所以可以使用
class GoodsController extends Controller
{

    //配置控制器需要使用的行为
    public function behaviors()
    {
        return [
            'returnBehavior' => [
                'class' => ReturnBehavior::className(),
                'return_type' => 'json',
            ],
        ];
    }

    //获取商品列表
    public function actionGetGoodsList()
    {
        return [
            ['id' => 1, 'name' => '商品1'],
            ['id' => 2, 'name' => '商品2'],
        ];
    }

    public function actionIndex()
    {
        //控制器调用行为中的方法
        $this->getBehavior('returnBehavior')->test();
        //注意这里，因为使用了行为，方法执行后会设置返回内容为xml，我们重新设置为html
        $this->getBehavior('returnBehavior')->return_type = 'html';
    }
}